# tools/data_tool.py
from datetime import datetime

def format_datetime(dt: datetime, fmt: str = "%Y-%m-%d %H:%M:%S") -> str:
    return dt.strftime(fmt)

def parse_datetime(date_str: str, fmt: str = "%Y-%m-%d %H:%M:%S") -> datetime:
    return datetime.strptime(date_str, fmt)

def run():
    print("\n欢迎使用数据处理工具")
    print("1. 格式化日期时间")
    print("2. 解析日期时间")
    choice = input("请选择操作（1 或 2）：")
    if choice == "1":
        dt = input("请输入日期时间（格式：YYYY-MM-DD HH:MM:SS）：")
        fmt = input("请输入目标格式（默认：%Y-%m-%d %H:%M:%S）：") or "%Y-%m-%d %H:%M:%S"
        try:
            dt_obj = datetime.strptime(dt, "%Y-%m-%d %H:%M:%S")
            result = format_datetime(dt_obj, fmt)
            print(f"格式化结果：{result}")
        except Exception as e:
            print(f"格式化失败：{e}")
    elif choice == "2":
        date_str = input("请输入日期时间字符串：")
        fmt = input("请输入日期时间格式（默认：%Y-%m-%d %H:%M:%S）：") or "%Y-%m-%d %H:%M:%S"
        try:
            result = parse_datetime(date_str, fmt)
            print(f"解析结果：{result}")
        except Exception as e:
            print(f"解析失败：{e}")
    else:
        print("无效选项！")